package model;

/** Class for storing the current Node when the generation of all the traces needs to be done
 * 
 * @author DarkoLaptop2
 *
 */
public class NodeTraceElement {

	private NodeTransitionSystem node;
	private String currentTrace;
	private int traceLength;
	
	/**
	 * The constructor 
	 * @param node - The current node where the trace ends
	 * @param currentTrace - the current trace to this node
	 * @param traceLength - the length of the trace
	 */
	public NodeTraceElement(NodeTransitionSystem node, String currentTrace,int traceLength) {
		this.node = node;
		this.currentTrace = currentTrace;
		this.traceLength=traceLength;
	}
	
	
	/**
	 * Method for returning the trace length
	 * @return  int - the trace length
	 */
	public int getTraceLength() {
		return traceLength;
	}
	
	
	/** Method for setting the trace length
	 * @param traceLength - the new trace length
	 */
	public void setTraceLength(int traceLength) {
		this.traceLength = traceLength;
	}
	
	/** Method for getting the current node where the trace ends
	 * @return Node - the current node
	 */
	public NodeTransitionSystem getNode() {
		return node;
	}
	
	/** Method for setting the current node where the trace ends
	 * @param node - the ending node
	 */
	public void setNode(NodeTransitionSystem node) {
		this.node = node;
	}
	
	
	/** Method for getting the trace which ends with the current node
	 * @return String - the trace 
	 */ 
	public String getCurrentTrace() {
		return currentTrace;
	}
	
	
	/** Method for setting the trace which ends with the current node
	 * @param currentTrace - the trace
	 */
	public void setCurrentTrace(String currentTrace) {
		this.currentTrace = currentTrace;
	}
	
	
}
